<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="generator" content="HTML Tidy for HTML5 for Linux version 5.2.0" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="style.css" rel="stylesheet" type="text/css" />
<title>Modelica.UsersGuide.ReleaseNotes.Version_3_2_2</title>
</head>
<body>
<h1>ReleaseNotes.<span class="omc-h1">Version_3_2_2</span></h1>
<h2><a name="info" id="info">Information</a></h2>
<p>Version 3.2.2 is backward compatible to version 3.2.1, that is
models developed with versions 3.0, 3.0.1, 3.1, 3.2, or 3.2.1 will
work without any changes also with version 3.2.2 (with exception of
the, usually uncritical, non-backwards compatible changes listed
below with regards to external object libraries, and one bug fix
introduced in 3.2.1 Build.3 for non-circular pipes that can be
non-backwards compatible if a user constructed a new pipe model
based on
Modelica.Fluid.Pipes.BaseClasses.WallFriction.PartialWallFriction,
see details below).</p>
<ul>
<li>This version of the Modelica package is <strong>fully
compatible</strong> to Modelica Specification <strong>3.2 revision
2</strong>.<br />
&nbsp;</li>
<li>About <strong>240</strong> tickets have been fixed in this
release and the previous maintenance releases:
<ul>
<li><strong>Version 3.2.1 Build.3</strong> (July 30, 2015) with
respect to 3.2.1 Build.2 (August 14, 2013):<br />
About <a href="../Documentation/Version-3.2.1/ResolvedTracTickets-build-3.html">
103 tickets</a> have been fixed for this maintenance release.<br />
&nbsp;</li>
<li><strong>Version 3.2.1 Build.4</strong> (September 30, 2015)
with respect to 3.2.1 Build.3 (July 30, 2015):
<ul>
<li>About <a href="../Documentation/Version-3.2.1/ResolvedTracTickets-build-4.html">
10 tickets</a> have been fixed for this maintenance release.
Critical tickets:</li>
<li>Ticket <a href="https://github.com/modelica/ModelicaStandardLibrary/issues/1768">1768</a> fixes an
issue with block CombiTimeTable
(wrong output when using fixed time step integrator with time step
greater than table resolution).</li>
<li>Ticket <a href="https://github.com/modelica/ModelicaStandardLibrary/issues/1758">1758</a> states
that simulation of Modelica.Fluid.Examples.HeatingSystem
fails in Dymola 2016 if option "pedantic mode for checking Modelica
semantics" is set. This issue was not fixed in the library due to
the following reasons:<br />
The Modelica.Fluid library uses a particular pattern to define some
parameters resulting in a cyclic dependency of parameters if only
incident information is taken into account. According to Modelica
Specification 3.2 revision 2 this is not allowed (and therefore
Dymola 2016 correctly reports errors if the pedantic flag is set).
In ticket <a href="https://github.com/modelica/ModelicaStandardLibrary/issues/1320">1320</a> this
issue was resolved for Modelica Specification 3.3 revision 1 by
allowing cyclic parameter definitions if the cycles disappear when
evaluating parameters that have annotation Evaluate=true.
Modelica.Fluid is correct with respect to Modelica Specification
3.3 revision 1. Changing the Modelica.Fluid library for 3.2.1
build.4 so that no cyclic parameter dependencies would be present
anymore would (a) result in a non-backwards compatible change and
(b) make the usage of Modelica.Fluid less convenient. For this
reason Modelica.Fluid is not changed. (Practically, this means for
example that the pedantic flag in Dymola 2016 needs to be switched
off, when using the Modelica.Fluid library in version 3.2.1 build 4
and any previous version).</li>
<li>In ticket <a href="https://github.com/modelica/ModelicaStandardLibrary/issues/1757">1757</a> it is
(correctly) stated that the example model PsychrometricData
was moved from Modelica.Media.Air.MoistAir.PsychrometricData and
that this is a non-backwards compatible change. This non-backwards
compatible change is accepted, because it fixes a circular
dependency (a model references a package in which it resides), for
details see ticket <a href="https://github.com/modelica/ModelicaStandardLibrary/issues/1679">1679</a>. Fixing
this ticket is seen as of much higher priority, as the small
drawback that an example model is moved (and the probability is
very high that this moved model is not used in any user
model).<br />
&nbsp;</li>
</ul>
</li>
<li><strong>Version 3.2.2 Build.2</strong> (March 16, 2016) with
respect to 3.2.1 Build.4 (September 30, 2015):<br />
About <a href="../Documentation/Version-3.2.2/ResolvedTracTickets.html">
130 tickets</a> have been fixed for this release.<br />
The ModelicaStandardTables object library (.lib, .dll, .a, .so,
depending on tool) has been split into the libraries
<strong>ModelicaStandardTables</strong>,
<strong>ModelicaMatIO</strong>, <strong>zlib</strong> and the new
object library <strong>ModelicaIO</strong> has been added.<br />
For a <strong>tool vendor</strong> this can be a non-backwards
compatible change if the same object libraries have been used in
the past for different releases of package Modelica. In <a href="../C-Sources/readme.txt">Resources/C-Sources/readme.txt</a>
the issue is explained in detail and how to resolve it. For a
<strong>user</strong> this might be a non-backwards compatible
change if he/she implemented an own external C interface function
to one of the functions in the ModelicaStandardTables,
ModelicaMatIO or zlib libraries. In this case, the library
annotations to these functions need to be adapted.<br />
&nbsp;</li>
</ul>
</li>
<li>In version 3.2.1 Build.3 a new argument crossArea was
introduced in the functions of
Modelica.Fluid.Pipes.BaseClasses.WallFriction.PartialWallFriction
to fix a subtle bug for the calculation of pipe friction for
non-circular pipes, see <a href="https://github.com/modelica/ModelicaStandardLibrary/issues/1601">#1601</a> and
<a href="https://github.com/modelica/ModelicaStandardLibrary/issues/1656">#1656</a>.
If a user utilized a pipe model of Modelica.Fluid.Pipes, this does
not matter because the pipe models have been improved in a fully
backwards compatible way. However, if the user constructed an own
pipe model based on the partial package PartialWallFriction and
calls the functions defined in PartialWallFriction with positional
(and not named) arguments, then a unit warning or error will occur
(depending on the tool and tool-specific settings) because the new
argument crossArea has unit [m2] and the previous argument at this
place, roughness, has unit [m]. If the warning is ignored, the
simulation result will be wrong, because the crossArea is used as
roughness. The user needs to fix this by adapting his/her pipe
model so that the crossArea is used in the function calls, or by
using named function arguments.</li>
</ul>
<p>The exact difference between package Modelica version 3.2.2 and
version 3.2.1 is summarized in the following two comparison
tables:</p>
<ul>
<li><a href="../Documentation/Version-3.2.2/Differences322To321Build4.html">
Difference 3.2.2 to 3.2.1 Build 4</a>,</li>
<li><a href="../Documentation/Version-3.2.2/Differences321Build4toBuild2.html">
Difference 3.2.1 Build 4 to 3.2.1 Build 2</a>.</li>
</ul>
<p>This release of package Modelica, and the accompanying
ModelicaTest, has been tested with the following tools (the tools
are listed alphabetically. At the time of the test, some of the
tools might not yet supported the complete Modelica package. For
more details of the tests see <a href="https://github.com/modelica/ModelicaStandardLibrary/issues/1867">#1867</a>):</p>
<ul>
<li><strong>Dymola 2017 Beta.1</strong> (Windows 64 bit, "Check"
with pedantic flag, that is checking strict Modelica compliance,
and "Check with Simulation").<br />
<a href="https://github.com/modelica/ModelicaStandardLibrary/issues/1924">#1924</a>:
Regression testing of 3.2.2+build.0-beta.2 using Dymola 2017 Dev 4
with respect to 3.2.1+build.4 reference files<br />
<a href="https://github.com/modelica/ModelicaStandardLibrary/issues/1949">#1949</a>:
Regression testing of 3.2.2+build.0-beta.3 using Dymola 2017 Beta 1
with respect to 3.2.1+build.4 reference files</li>
<li><strong>LMS Imagine.Lab Amesim 14.2</strong> and <strong>LMS
Imagine.Lab Amesim 15 (development build)</strong>. No previously
unreported regressions have been detected.</li>
<li><strong>Maplesim Parser</strong></li>
<li><strong>OpenModelica 1.9.4 Beta.2</strong> (Windows, Linux,
Mac)</li>
</ul>
<p>The following Modelica packages have been tested that they work
together with this release of package Modelica (alphabetical
list):</p>
<ul>
<li>AirConditioning Library 1.12 (Modelon)</li>
<li>Buildings 2.1.0 (LBNL)</li>
<li>Electric Power Library 2.2.3 (Modelon)</li>
<li>Engine Dynamics Library 1.2.5 (Modelon)</li>
<li>FlexibleBodies 2.2 (DLR)</li>
<li>FlightDynamics 1.0.1 (DLR)</li>
<li>FluidDissipation 1.1.8 (XRG Simulation)</li>
<li>Fuel Cell Library 1.3.3 (Modelon)</li>
<li>Heat Exchanger Library 1.4.1 (Modelon)</li>
<li>Human Comfort Library 2.1.0 (XRG Simulation)</li>
<li>HVAC Library 2.1.0 (XRG Simulation)</li>
<li>Hydraulics Library 4.4 (Modelon)</li>
<li>Hydronics Library 2.1.0 (XRG Simulation)</li>
<li>Hydro Power Library 2.6 (Modelon)</li>
<li>Liquid Cooling Library 1.5 (Modelon)</li>
<li>Modelica_Synchronous 0.92.1</li>
<li>Modelica_LinearSystems2 2.3.4</li>
<li>Modelica_StateGraph2 2.0.3</li>
<li>Optimization 2.2.2 (DLR)</li>
<li>PowerTrain 2.4.0 (DLR)</li>
<li>Pneumatics Library 2.0 (Modelon)</li>
<li>Thermal Power Library 1.12 (Modelon)</li>
<li>Vapor Cycle Library 1.3 (Modelon)</li>
<li>Vehicle Dynamics Library 2.3 (Modelon)</li>
</ul>
<p><br />
The following <font color="blue"><strong>new
libraries</strong></font> have been added:</p>
<table border="1" cellspacing="0" cellpadding="2">
<tr>
<td>Modelica.Electrical.PowerConverters</td>
<td>This library offers models for rectifiers, inverters and
DC/DC-converters.<br />
(This library was developed by Christian Kral and Anton
Haumer).</td>
</tr>
<tr>
<td>Modelica.Magnetic.QuasiStatic.FundamentalWave</td>
<td>This library provides quasi-static models of multiphase
machines (induction machines, synchronous machines) in parallel
(with the same parameters but different electric connectors) to the
transient models in Modelica.Magnetic.FundamentalWave.<br />

Quasistatic means that electric transients are neglected, voltages
and currents are supposed to be sinusoidal. Mechanical and thermal
transients are taken into account.<br />
This library is especially useful in combination with the Modelica.Electrical.QuasiStationary
library in order to build up very fast simulations of electrical
circuits with sinusoidal currents and voltages.<br />
(This library was developed by Christian Kral and Anton
Haumer).</td>
</tr>
<tr>
<td>Sublibraries of Modelica.Magnetic.FluxTubes</td>
<td>New elements for modeling ferromagnetic (static) and eddy
current (dynamic) hysteresis effects and permanent magnets have
been added. The FluxTubes.Material package is also extended to
provide hysteresis data for several magnetic materials. These data
is partly based on own measurements. For modeling of ferromagnetic
hysteresis, two different hysteresis models have been implemented:
The simple Tellinen model and the considerably more detailed
Preisach hysteresis model. The following packages have been added:
<ul>
<li>FluxTubes.UsersGuide.Hysteresis</li>
<li>FluxTubes.Examples.Hysteresis</li>
<li>FluxTubes.Shapes.HysteresisAndMagnets</li>
<li>FluxTubes.Material.HysteresisEverettParameter</li>
<li>FluxTubes.Material.HysteresisTableData</li>
</ul>
(These extensions have been developed by Johannes Ziske and Thomas
Bödrich as part of the <a href="http://www.cleansky.eu/">Clean
Sky</a> JTI project; project number: 296369; Theme: <a href="https://cordis.europa.eu/project/rcn/101194_en.html">JTI-CS-2011-1-SGO-02-026</a>;
MOMOLIB - Modelica Model Library Development for Media, Magnetic
Systems and Wavelets. The partial financial support by the European
Union for this development is highly appreciated.).</td>
</tr>
<tr>
<td>Sublibraries for <strong>noise</strong> modeling</td>
<td>Several new sublibraries have been added allowing the modeling
of reproducible noise. The most important new sublibraries are (for
more details see below):
<ul>
<li>Modelica.Blocks.Noise</li>
<li>Modelica.Math.Random</li>
<li>Modelica.Math.Distributions</li>
<li>Modelica.Math.Special</li>
</ul>
(These extensions have been developed by Andreas Klöckner, Frans
van der Linden, Dirk Zimmer, and Martin Otter from DLR Institute of
System Dynamics and Control).</td>
</tr>
<tr>
<td>Modelica.Utilities
functions for <strong>matrix read/write</strong></td>
<td>New functions are provided in the Modelica.Utilities.Streams
sublibrary to write matrices in MATLAB MAT format on file and read
matrices in this format from file. The MATLAB MAT formats v4, v6,
v7 and v7.3 (in case the tool supports HDF5) are supported by these
functions. Additionally, example models are provided under Modelica.Utilities.Examples
to demonstrate the usage of these functions in models. For more
details see below.<br />
(These extensions have been developed by Thomas Beutlich from ITI
GmbH).</td>
</tr>
<tr>
<td>Modelica.Math sublibrary
for <strong>FFT</strong></td>
<td>The new sublibrary FastFourierTransform
provides utility and convenience functions to compute the Fast
Fourier Transform (FFT). Additionally two examples are present to
demonstrate how to compute an FFT during continuous-time simulation
and store the result on file. For more details see below.<br />
(These extensions have been developed by Martin Kuhn and Martin
Otter from DLR Institute of System Dynamics and Control).</td>
</tr>
</table>
<p><br />
The following <font color="blue"><strong>new
components</strong></font> have been added to <font color="blue"><strong>existing</strong></font> libraries:</p>
<table border="1" cellspacing="0" cellpadding="2" style="border-collapse:collapse;">
<tr>
<td colspan="2"><strong>Modelica.Blocks.Examples</strong></td>
</tr>
<tr>
<td width="150">NoiseExamples</td>
<td>Several examples to demonstrate the usage of the blocks in the
new sublibrary Blocks.Noise.</td>
</tr>
<tr>
<td colspan="2"><strong>Modelica.Blocks.Interfaces</strong></td>
</tr>
<tr>
<td width="150">PartialNoise</td>
<td>Partial noise generator (base class of the noise generators in
Blocks.Noise)</td>
</tr>
<tr>
<td colspan="2"><strong>Modelica.Blocks.Math</strong></td>
</tr>
<tr>
<td width="150">ContinuousMean</td>
<td>Calculates the empirical expectation (mean) value of its input
signal</td>
</tr>
<tr>
<td width="150">Variance</td>
<td>Calculates the empirical variance of its input signal</td>
</tr>
<tr>
<td width="150">StandardDeviation</td>
<td>Calculates the empirical standard deviation of its input
signal</td>
</tr>
<tr>
<td colspan="2"><strong>Modelica.Blocks.Noise</strong></td>
</tr>
<tr>
<td width="150">GlobalSeed</td>
<td>Defines global settings for the blocks of sublibrary Noise,
especially a global seed value is defined</td>
</tr>
<tr>
<td width="150">UniformNoise</td>
<td>Noise generator with uniform distribution</td>
</tr>
<tr>
<td width="150">NormalNoise</td>
<td>Noise generator with normal distribution</td>
</tr>
<tr>
<td width="150">TruncatedNormalNoise</td>
<td>Noise generator with truncated normal distribution</td>
</tr>
<tr>
<td width="150">BandLimitedWhiteNoise</td>
<td>Noise generator to produce band-limited white noise with normal
distribution</td>
</tr>
<tr>
<td colspan="2">
<strong>Modelica.ComplexBlocks.Examples</strong></td>
</tr>
<tr>
<td width="150">ShowTransferFunction</td>
<td>Example to demonstrate the usage of the block
TransferFunction.</td>
</tr>
<tr>
<td colspan="2">
<strong>Modelica.ComplexBlocks.ComplexMath</strong></td>
</tr>
<tr>
<td width="150">TransferFunction</td>
<td>This block allows to define a complex transfer function
(depending on frequency input w) to obtain the complex output
y.</td>
</tr>
<tr>
<td colspan="2">
<strong>Modelica.ComplexBlocks.Sources</strong></td>
</tr>
<tr>
<td width="150">LogFrequencySweep</td>
<td>The logarithm of w performs a linear ramp from log10(wMin) to
log10(wMax), the output is the decimal power of this logarithmic
ramp.</td>
</tr>
<tr>
<td colspan="2">
<strong>Modelica.Electrical.Machines.Examples</strong></td>
</tr>
<tr>
<td width="150">ControlledDCDrives</td>
<td>Current, speed and position controlled DC PM drive</td>
</tr>
<tr>
<td colspan="2">
<strong>Modelica.Mechanics.Rotational.Examples.Utilities.</strong></td>
</tr>
<tr>
<td width="150">SpringDamperNoRelativeStates</td>
<td>Introduced to fix ticket <a href="https://github.com/modelica/ModelicaStandardLibrary/issues/1375">1375</a></td>
</tr>
<tr>
<td colspan="2">
<strong>Modelica.Mechanics.Rotational.Components.</strong></td>
</tr>
<tr>
<td width="150">ElastoBacklash2</td>
<td>Alternative model of backlash. The difference to the existing
ElastoBacklash component is that an event is generated when contact
occurs and that the contact torque changes discontinuously in this
case. For some user models, this variant of a backlash model leads
to significantly faster simulations.</td>
</tr>
<tr>
<td colspan="2"><strong>Modelica.Fluid.Examples.</strong></td>
</tr>
<tr>
<td width="150">NonCircularPipes</td>
<td>Introduced to check the fix of ticket <a href="https://github.com/modelica/ModelicaStandardLibrary/issues/1601">1681</a></td>
</tr>
<tr>
<td colspan="2"><strong>Modelica.Media.Examples.</strong></td>
</tr>
<tr>
<td width="150">PsychrometricData</td>
<td>Introduced to fix ticket <a href="https://github.com/modelica/ModelicaStandardLibrary/issues/1679">1679</a></td>
</tr>
<tr>
<td colspan="2"><strong>Modelica.Math.Matrices.</strong></td>
</tr>
<tr>
<td width="150">balanceABC</td>
<td>Return a balanced form of a system [A,B;C,0] to improve its
condition by a state transformation</td>
</tr>
<tr>
<td colspan="2">
<strong>Modelica.Math.Random.Generators.</strong></td>
</tr>
<tr>
<td width="150">Xorshift64star</td>
<td>Random number generator xorshift64*</td>
</tr>
<tr>
<td width="150">Xorshift128plus</td>
<td>Random number generator xorshift128+</td>
</tr>
<tr>
<td width="150">Xorshift1024star</td>
<td>Random number generator xorshift1024*</td>
</tr>
<tr>
<td colspan="2">
<strong>Modelica.Math.Random.Utilities.</strong></td>
</tr>
<tr>
<td width="150">initialStateWithXorshift64star</td>
<td>Return an initial state vector for a random number generator
(based on xorshift64star algorithm)</td>
</tr>
<tr>
<td width="150">automaticGlobalSeed</td>
<td>Creates an automatic integer seed from the current time and
process id (= impure function)</td>
</tr>
<tr>
<td width="150">initializeImpureRandom</td>
<td>Initializes the internal state of the impure random number
generator</td>
</tr>
<tr>
<td width="150">impureRandom</td>
<td>Impure random number generator (with hidden state vector)</td>
</tr>
<tr>
<td width="150">impureRandomInteger</td>
<td>Impure random number generator for integer values (with hidden
state vector)</td>
</tr>
<tr>
<td colspan="2"><strong>Modelica.Math.Distributions.</strong></td>
</tr>
<tr>
<td width="150">Uniform</td>
<td>Library of uniform distribution functions (functions: density,
cumulative, quantile)</td>
</tr>
<tr>
<td width="150">Normal</td>
<td>Library of normal distribution functions (functions: density,
cumulative, quantile)</td>
</tr>
<tr>
<td width="150">TruncatedNormal</td>
<td>Library of truncated normal distribution functions (functions:
density, cumulative, quantile)</td>
</tr>
<tr>
<td width="150">Weibull</td>
<td>Library of Weibull distribution functions (functions: density,
cumulative, quantile)</td>
</tr>
<tr>
<td width="150">TruncatedWeibull</td>
<td>Library of truncated Weibull distribution functions (functions:
density, cumulative, quantile)</td>
</tr>
<tr>
<td colspan="2"><strong>Modelica.Math.Special.</strong></td>
</tr>
<tr>
<td width="150">erf</td>
<td>Error function erf(u) = 2/sqrt(pi)*Integral_0_u
exp(-t^2)*d</td>
</tr>
<tr>
<td width="150">erfc</td>
<td>Complementary error function erfc(u) = 1 - erf(u)</td>
</tr>
<tr>
<td width="150">erfInv</td>
<td>Inverse error function: u = erf(erfInv(u))</td>
</tr>
<tr>
<td width="150">erfcInv</td>
<td>Inverse complementary error function: u = erfc(erfcInv(u))</td>
</tr>
<tr>
<td width="150">sinc</td>
<td>Unnormalized sinc function: sinc(u) = sin(u)/u</td>
</tr>
<tr>
<td colspan="2">
<strong>Modelica.Math.FastFourierTransform.</strong></td>
</tr>
<tr>
<td width="150">realFFTinfo</td>
<td>Print information about real FFT for given f_max and
f_resolution</td>
</tr>
<tr>
<td width="150">realFFTsamplePoints</td>
<td>Return number of sample points for a real FFT</td>
</tr>
<tr>
<td width="150">realFFT</td>
<td>Return amplitude and phase vectors for a real FFT</td>
</tr>
<tr>
<td colspan="2"><strong>Modelica.Utilities.Streams.</strong></td>
</tr>
<tr>
<td width="150">readMatrixSize</td>
<td>Read dimensions of a Real matrix from a MATLAB MAT file</td>
</tr>
<tr>
<td width="150">readRealMatrix</td>
<td>Read Real matrix from MATLAB MAT file</td>
</tr>
<tr>
<td width="150">writeRealMatrix</td>
<td>Write Real matrix to a MATLAB MAT file</td>
</tr>
<tr>
<td colspan="2"><strong>Modelica.Utilities.Strings.</strong></td>
</tr>
<tr>
<td width="150">hashString</td>
<td>Creates a hash value of a String</td>
</tr>
<tr>
<td colspan="2"><strong>Modelica.Utilities.System.</strong></td>
</tr>
<tr>
<td width="150">getTime</td>
<td>Retrieves the local time (in the local time zone)</td>
</tr>
<tr>
<td width="150">getPid</td>
<td>Retrieves the current process id</td>
</tr>
</table>
<p><br />
The following <font color="blue"><strong>existing
components</strong></font> have been <font color="blue"><strong>changed</strong></font> in a <font color="blue"><strong>non-backward compatible</strong></font> way:</p>
<table border="1" cellspacing="0" cellpadding="2" style="border-collapse:collapse;">
<tr>
<td colspan="2">
<strong>Electrical.Analog.Semiconductors.</strong></td>
</tr>
<tr>
<td>HeatingDiode</td>
<td>Removed protected variable k "Boltzmann's constant".<br />
Calculate protected constant q "Electron charge" from already known
constants instead of defining a protected variable q.</td>
</tr>
<tr>
<td>HeatingNPN<br />
HeatingPNP</td>
<td>Removed parameter K "Boltzmann's constant" and q "Elementary
electronic charge".<br />
Calculate instead protected constant q "Electron charge" from
already known constants.<br />
Users that have used these parameters might have broken their
models; the (although formal non-backwards compatible) change
offers the users a safer use.</td>
</tr>
</table>
<hr />
Generated at 2018-08-07T07:53:32Z by <a href="http://openmodelica.org">OpenModelica</a>OpenModelica
1.13.0~dev-1195-g6d891ea
</body>
</html>
